#ifndef __WorldMonitor_h__
#define __WorldMonitor_h__

#pragma once

class WorldMonitor
{
public:
	typedef Functor1<const AABB&> Callback;

	WorldMonitor();
	WorldMonitor(const Callback& callback);

	void Start();
	void Stop();

	static int StateChangeHandler(const EventPhys* pPhysEvent);
	static int EntityRemovedHandler(const EventPhys* pPhysEvent);

protected:

	bool IsEnabled() const;

	Callback m_callback;

	bool     m_enabled;	
};

#endif